#ifndef __PWMLED_H
#define __PWMLED_H

/* Includes ------------------------------------------------------------------*/
#include "system_remap.h"

typedef struct
{
  uint16_t PWMLED_Prescaler;     

  uint16_t PWMLED_Period;        
                                 
	uint16_t PWMLED_Pulse;
	
  uint16_t PWMLED_Polarity;      
                                 
	uint16_t PWMLED_SendNUM;
	
	uint16_t PWMLEDDATA_Polarity;
	
	uint16_t PWMLEDSTOP_Count;
	
} PWMLED_InitTypeDef;


/*************registers bit*******************/

#define EN_SET_Mask							((uint16_t)0x0001)
#define EN_CLEAN_Mask						((uint16_t)0xFFFE)
			
#define IF_SET_Mask							((uint16_t)0x0002)
#define IF_CLEAN_Mask						((uint16_t)0xFFFD)


#define POL_SET_Mask						((uint16_t)0x0004)
#define POL_CLEAN_Mask					((uint16_t)0xFFFB)
		
#define MOD_SET_Mask						((uint16_t)0x0038)
#define MOD_CLEAN_Mask					((uint16_t)0xFFC7)
		
#define TOG_SET_Mask						((uint16_t)0x0040)
#define TOG_CLEAN_Mask					((uint16_t)0xFFBF)
		
#define IE_SET_Mask							((uint16_t)0x0080)
#define IE_CLEAN_Mask						((uint16_t)0xFF7F)


#define CKD_SET_Mask						((uint16_t)0xFF00)
#define CKD_CLEAN_Mask					((uint16_t)0x00FF)
		
#define DAT_SET_Mask						((uint16_t)0x00FF)
#define DAT_CLEAN_Mask					((uint16_t)0xFF00)
		
#define BUSY_SET_Mask						((uint16_t)0x0100)
#define BUSY_CLEAN_Mask					((uint16_t)0xFEFF)
		
#define FULL_SET_Mask						((uint16_t)0x0200)
#define FULL_CLEAN_Mask					((uint16_t)0xFDFF)
		
#define DIV_SET_Mask						((uint16_t)0xFFFF)
#define DIV_CLEAN_Mask					((uint16_t)0xFFFF)
		
#define DUT_SET_Mask						((uint16_t)0xFFFF)
#define DUT_CLEAN_Mask					((uint16_t)0xFFFF)
		
#define WTM_SET_Mask						((uint16_t)0xFFFF)
#define WTM_CLEAN_Mask					((uint16_t)0xFFFF)

#define DATADUT_SET_Mask				((uint16_t)0xFFFF)
#define DATADUT_CLEAN_Mask			((uint16_t)0xFFFF)

#define DATA_SET_Mask						((uint16_t)0x00FF)
#define DATA_CLEAN_Mask					((uint16_t)0xFF00)

/***********************************/

#define PWMLED_PSC_DIV0				((uint16_t)0x00)		
#define PWMLED_PSC_DIV2				((uint16_t)0x01)					
#define PWMLED_PSC_DIV3				((uint16_t)0x02)		
#define PWMLED_PSC_DIV4				((uint16_t)0x03)		
#define PWMLED_PSC_DIV5     	((uint16_t)0x04)		
#define PWMLED_PSC_DIV6     	((uint16_t)0x05)		
#define PWMLED_PSC_DIV7     	((uint16_t)0x06)		
#define PWMLED_PSC_DIV8     	((uint16_t)0x07)		
#define PWMLED_PSC_DIV9     	((uint16_t)0x08)		
#define PWMLED_PSC_DIV10    	((uint16_t)0x09)		
#define PWMLED_PSC_DIV11    	((uint16_t)0x0A)		
#define PWMLED_PSC_DIV12    	((uint16_t)0x0B)		
#define PWMLED_PSC_DIV13    	((uint16_t)0x0C)		
#define PWMLED_PSC_DIV14    	((uint16_t)0x0D)		
#define PWMLED_PSC_DIV15    	((uint16_t)0x0E)		
#define PWMLED_PSC_DIV16    	((uint16_t)0x0F)		
#define PWMLED_PSC_DIV17    	((uint16_t)0x10)		
#define PWMLED_PSC_DIV18    	((uint16_t)0x11)		
#define PWMLED_PSC_DIV19    	((uint16_t)0x12)		
#define PWMLED_PSC_DIV20    	((uint16_t)0x13)		
#define PWMLED_PSC_DIV21    	((uint16_t)0x14)		
#define PWMLED_PSC_DIV22    	((uint16_t)0x15)		
#define PWMLED_PSC_DIV23    	((uint16_t)0x16)		
#define PWMLED_PSC_DIV24    	((uint16_t)0x17)		
#define PWMLED_PSC_DIV25    	((uint16_t)0x18)		
#define PWMLED_PSC_DIV26    	((uint16_t)0x19)		
#define PWMLED_PSC_DIV27    	((uint16_t)0x1A)		
#define PWMLED_PSC_DIV28    	((uint16_t)0x1B)		
#define PWMLED_PSC_DIV29    	((uint16_t)0x1C)		
#define PWMLED_PSC_DIV30    	((uint16_t)0x1D)		
#define PWMLED_PSC_DIV31    	((uint16_t)0x1E)		
#define PWMLED_PSC_DIV32    	((uint16_t)0x1F)		
#define PWMLED_PSC_DIV33    	((uint16_t)0x20)		
#define PWMLED_PSC_DIV34    	((uint16_t)0x21)		
#define PWMLED_PSC_DIV35    	((uint16_t)0x22)		
#define PWMLED_PSC_DIV36    	((uint16_t)0x23)		
#define PWMLED_PSC_DIV37    	((uint16_t)0x24)		
#define PWMLED_PSC_DIV38    	((uint16_t)0x25)		
#define PWMLED_PSC_DIV39    	((uint16_t)0x26)		
#define PWMLED_PSC_DIV40    	((uint16_t)0x27)		
#define PWMLED_PSC_DIV41    	((uint16_t)0x28)		
#define PWMLED_PSC_DIV42    	((uint16_t)0x29)		
#define PWMLED_PSC_DIV43    	((uint16_t)0x2A)		
#define PWMLED_PSC_DIV44    	((uint16_t)0x2B)		
#define PWMLED_PSC_DIV45    	((uint16_t)0x2C)		
#define PWMLED_PSC_DIV46    	((uint16_t)0x2D)		
#define PWMLED_PSC_DIV47    	((uint16_t)0x2E)		
#define PWMLED_PSC_DIV48    	((uint16_t)0x2F)		
#define PWMLED_PSC_DIV49    	((uint16_t)0x30)		
#define PWMLED_PSC_DIV50    	((uint16_t)0x31)		
#define PWMLED_PSC_DIV51    	((uint16_t)0x32)		
#define PWMLED_PSC_DIV52    	((uint16_t)0x33)		
#define PWMLED_PSC_DIV53    	((uint16_t)0x34)		
#define PWMLED_PSC_DIV54    	((uint16_t)0x35)		
#define PWMLED_PSC_DIV55    	((uint16_t)0x36)		
#define PWMLED_PSC_DIV56    	((uint16_t)0x37)		
#define PWMLED_PSC_DIV57    	((uint16_t)0x38)		
#define PWMLED_PSC_DIV58    	((uint16_t)0x39)		
#define PWMLED_PSC_DIV59    	((uint16_t)0x3A)		
#define PWMLED_PSC_DIV60    	((uint16_t)0x3B)		
#define PWMLED_PSC_DIV61    	((uint16_t)0x3C)		
#define PWMLED_PSC_DIV62    	((uint16_t)0x3D)		
#define PWMLED_PSC_DIV63    	((uint16_t)0x3E)		
#define PWMLED_PSC_DIV64    	((uint16_t)0x3F)		
#define PWMLED_PSC_DIV65    	((uint16_t)0x40)		
#define PWMLED_PSC_DIV66    	((uint16_t)0x41)		
#define PWMLED_PSC_DIV67    	((uint16_t)0x42)		
#define PWMLED_PSC_DIV68    	((uint16_t)0x43)		
#define PWMLED_PSC_DIV69    	((uint16_t)0x44)		
#define PWMLED_PSC_DIV70    	((uint16_t)0x45)		
#define PWMLED_PSC_DIV71    	((uint16_t)0x46)		
#define PWMLED_PSC_DIV72    	((uint16_t)0x47)		
#define PWMLED_PSC_DIV73    	((uint16_t)0x48)		
#define PWMLED_PSC_DIV74    	((uint16_t)0x49)		
#define PWMLED_PSC_DIV75    	((uint16_t)0x4A)		
#define PWMLED_PSC_DIV76    	((uint16_t)0x4B)		
#define PWMLED_PSC_DIV77    	((uint16_t)0x4C)		
#define PWMLED_PSC_DIV78    	((uint16_t)0x4D)		
#define PWMLED_PSC_DIV79    	((uint16_t)0x4E)		
#define PWMLED_PSC_DIV80    	((uint16_t)0x4F)		
#define PWMLED_PSC_DIV81    	((uint16_t)0x50)		
#define PWMLED_PSC_DIV82    	((uint16_t)0x51)		
#define PWMLED_PSC_DIV83    	((uint16_t)0x52)		
#define PWMLED_PSC_DIV84    	((uint16_t)0x53)		
#define PWMLED_PSC_DIV85    	((uint16_t)0x54)		
#define PWMLED_PSC_DIV86    	((uint16_t)0x55)		
#define PWMLED_PSC_DIV87    	((uint16_t)0x56)		
#define PWMLED_PSC_DIV88    	((uint16_t)0x57)		
#define PWMLED_PSC_DIV89    	((uint16_t)0x58)		
#define PWMLED_PSC_DIV90    	((uint16_t)0x59)		
#define PWMLED_PSC_DIV91    	((uint16_t)0x5A)		
#define PWMLED_PSC_DIV92    	((uint16_t)0x5B)		
#define PWMLED_PSC_DIV93    	((uint16_t)0x5C)		
#define PWMLED_PSC_DIV94    	((uint16_t)0x5D)		
#define PWMLED_PSC_DIV95    	((uint16_t)0x5E)		
#define PWMLED_PSC_DIV96    	((uint16_t)0x5F)		
#define PWMLED_PSC_DIV97    	((uint16_t)0x60)		
#define PWMLED_PSC_DIV98    	((uint16_t)0x61)		
#define PWMLED_PSC_DIV99    	((uint16_t)0x62)		
#define PWMLED_PSC_DIV100   	((uint16_t)0x63)		
#define PWMLED_PSC_DIV101   	((uint16_t)0x64)		
#define PWMLED_PSC_DIV102   	((uint16_t)0x65)		
#define PWMLED_PSC_DIV103   	((uint16_t)0x66)		
#define PWMLED_PSC_DIV104   	((uint16_t)0x67)		
#define PWMLED_PSC_DIV105   	((uint16_t)0x68)		
#define PWMLED_PSC_DIV106   	((uint16_t)0x69)		
#define PWMLED_PSC_DIV107   	((uint16_t)0x6A)		
#define PWMLED_PSC_DIV108   	((uint16_t)0x6B)		
#define PWMLED_PSC_DIV109   	((uint16_t)0x6C)		
#define PWMLED_PSC_DIV110   	((uint16_t)0x6D)		
#define PWMLED_PSC_DIV111   	((uint16_t)0x6E)		
#define PWMLED_PSC_DIV112   	((uint16_t)0x6F)		
#define PWMLED_PSC_DIV113   	((uint16_t)0x70)		
#define PWMLED_PSC_DIV114   	((uint16_t)0x71)		
#define PWMLED_PSC_DIV115   	((uint16_t)0x72)		
#define PWMLED_PSC_DIV116   	((uint16_t)0x73)		
#define PWMLED_PSC_DIV117   	((uint16_t)0x74)		
#define PWMLED_PSC_DIV118   	((uint16_t)0x75)		
#define PWMLED_PSC_DIV119   	((uint16_t)0x76)		
#define PWMLED_PSC_DIV120   	((uint16_t)0x77)		
#define PWMLED_PSC_DIV121   	((uint16_t)0x78)		
#define PWMLED_PSC_DIV122   	((uint16_t)0x79)		
#define PWMLED_PSC_DIV123   	((uint16_t)0x7A)		
#define PWMLED_PSC_DIV124   	((uint16_t)0x7B)		
#define PWMLED_PSC_DIV125   	((uint16_t)0x7C)		
#define PWMLED_PSC_DIV126   	((uint16_t)0x7D)		
#define PWMLED_PSC_DIV127   	((uint16_t)0x7E)		
#define PWMLED_PSC_DIV128   	((uint16_t)0x7F)		
#define PWMLED_PSC_DIV129   	((uint16_t)0x80)		
#define PWMLED_PSC_DIV130   	((uint16_t)0x81)		
#define PWMLED_PSC_DIV131   	((uint16_t)0x82)		
#define PWMLED_PSC_DIV132   	((uint16_t)0x83)		
#define PWMLED_PSC_DIV133   	((uint16_t)0x84)		
#define PWMLED_PSC_DIV134   	((uint16_t)0x85)		
#define PWMLED_PSC_DIV135   	((uint16_t)0x86)		
#define PWMLED_PSC_DIV136   	((uint16_t)0x87)		
#define PWMLED_PSC_DIV137   	((uint16_t)0x88)		
#define PWMLED_PSC_DIV138   	((uint16_t)0x89)		
#define PWMLED_PSC_DIV139   	((uint16_t)0x8A)		
#define PWMLED_PSC_DIV140   	((uint16_t)0x8B)		
#define PWMLED_PSC_DIV141   	((uint16_t)0x8C)		
#define PWMLED_PSC_DIV142   	((uint16_t)0x8D)		
#define PWMLED_PSC_DIV143   	((uint16_t)0x8E)		
#define PWMLED_PSC_DIV144   	((uint16_t)0x8F)		
#define PWMLED_PSC_DIV145   	((uint16_t)0x90)		
#define PWMLED_PSC_DIV146   	((uint16_t)0x91)		
#define PWMLED_PSC_DIV147   	((uint16_t)0x92)		
#define PWMLED_PSC_DIV148   	((uint16_t)0x93)		
#define PWMLED_PSC_DIV149   	((uint16_t)0x94)		
#define PWMLED_PSC_DIV150   	((uint16_t)0x95)		
#define PWMLED_PSC_DIV151   	((uint16_t)0x96)		
#define PWMLED_PSC_DIV152   	((uint16_t)0x97)		
#define PWMLED_PSC_DIV153   	((uint16_t)0x98)		
#define PWMLED_PSC_DIV154   	((uint16_t)0x99)		
#define PWMLED_PSC_DIV155   	((uint16_t)0x9A)		
#define PWMLED_PSC_DIV156   	((uint16_t)0x9B)		
#define PWMLED_PSC_DIV157   	((uint16_t)0x9C)		
#define PWMLED_PSC_DIV158   	((uint16_t)0x9D)		
#define PWMLED_PSC_DIV159   	((uint16_t)0x9E)		
#define PWMLED_PSC_DIV160   	((uint16_t)0x9F)		
#define PWMLED_PSC_DIV161   	((uint16_t)0xA0)		
#define PWMLED_PSC_DIV162   	((uint16_t)0xA1)		
#define PWMLED_PSC_DIV163   	((uint16_t)0xA2)		
#define PWMLED_PSC_DIV164   	((uint16_t)0xA3)		
#define PWMLED_PSC_DIV165   	((uint16_t)0xA4)		
#define PWMLED_PSC_DIV166   	((uint16_t)0xA5)		
#define PWMLED_PSC_DIV167   	((uint16_t)0xA6)		
#define PWMLED_PSC_DIV168   	((uint16_t)0xA7)		
#define PWMLED_PSC_DIV169   	((uint16_t)0xA8)		
#define PWMLED_PSC_DIV170   	((uint16_t)0xA9)		
#define PWMLED_PSC_DIV171   	((uint16_t)0xAA)		
#define PWMLED_PSC_DIV172   	((uint16_t)0xAB)		
#define PWMLED_PSC_DIV173   	((uint16_t)0xAC)		
#define PWMLED_PSC_DIV174   	((uint16_t)0xAD)		
#define PWMLED_PSC_DIV175   	((uint16_t)0xAE)		
#define PWMLED_PSC_DIV176   	((uint16_t)0xAF)		
#define PWMLED_PSC_DIV177   	((uint16_t)0xB0)		
#define PWMLED_PSC_DIV178   	((uint16_t)0xB1)		
#define PWMLED_PSC_DIV179   	((uint16_t)0xB2)		
#define PWMLED_PSC_DIV180   	((uint16_t)0xB3)		
#define PWMLED_PSC_DIV181   	((uint16_t)0xB4)		
#define PWMLED_PSC_DIV182   	((uint16_t)0xB5)		
#define PWMLED_PSC_DIV183   	((uint16_t)0xB6)		
#define PWMLED_PSC_DIV184   	((uint16_t)0xB7)		
#define PWMLED_PSC_DIV185   	((uint16_t)0xB8)		
#define PWMLED_PSC_DIV186   	((uint16_t)0xB9)		
#define PWMLED_PSC_DIV187   	((uint16_t)0xBA)		
#define PWMLED_PSC_DIV188   	((uint16_t)0xBB)		
#define PWMLED_PSC_DIV189   	((uint16_t)0xBC)		
#define PWMLED_PSC_DIV190   	((uint16_t)0xBD)		
#define PWMLED_PSC_DIV191   	((uint16_t)0xBE)		
#define PWMLED_PSC_DIV192   	((uint16_t)0xBF)		
#define PWMLED_PSC_DIV193   	((uint16_t)0xC0)		
#define PWMLED_PSC_DIV194   	((uint16_t)0xC1)		
#define PWMLED_PSC_DIV195   	((uint16_t)0xC2)		
#define PWMLED_PSC_DIV196   	((uint16_t)0xC3)		
#define PWMLED_PSC_DIV197   	((uint16_t)0xC4)		
#define PWMLED_PSC_DIV198   	((uint16_t)0xC5)		
#define PWMLED_PSC_DIV199   	((uint16_t)0xC6)		
#define PWMLED_PSC_DIV200   	((uint16_t)0xC7)		
#define PWMLED_PSC_DIV201   	((uint16_t)0xC8)		
#define PWMLED_PSC_DIV202   	((uint16_t)0xC9)		
#define PWMLED_PSC_DIV203   	((uint16_t)0xCA)		
#define PWMLED_PSC_DIV204   	((uint16_t)0xCB)		
#define PWMLED_PSC_DIV205   	((uint16_t)0xCC)		
#define PWMLED_PSC_DIV206   	((uint16_t)0xCD)		
#define PWMLED_PSC_DIV207   	((uint16_t)0xCE)		
#define PWMLED_PSC_DIV208   	((uint16_t)0xCF)		
#define PWMLED_PSC_DIV209   	((uint16_t)0xD0)		
#define PWMLED_PSC_DIV210   	((uint16_t)0xD1)		
#define PWMLED_PSC_DIV211   	((uint16_t)0xD2)		
#define PWMLED_PSC_DIV212   	((uint16_t)0xD3)		
#define PWMLED_PSC_DIV213   	((uint16_t)0xD4)		
#define PWMLED_PSC_DIV214   	((uint16_t)0xD5)		
#define PWMLED_PSC_DIV215   	((uint16_t)0xD6)		
#define PWMLED_PSC_DIV216   	((uint16_t)0xD7)		
#define PWMLED_PSC_DIV217   	((uint16_t)0xD8)		
#define PWMLED_PSC_DIV218   	((uint16_t)0xD9)		
#define PWMLED_PSC_DIV219   	((uint16_t)0xDA)		
#define PWMLED_PSC_DIV220   	((uint16_t)0xDB)		
#define PWMLED_PSC_DIV221   	((uint16_t)0xDC)		
#define PWMLED_PSC_DIV222   	((uint16_t)0xDD)		
#define PWMLED_PSC_DIV223   	((uint16_t)0xDE)		
#define PWMLED_PSC_DIV224   	((uint16_t)0xDF)		
#define PWMLED_PSC_DIV225   	((uint16_t)0xE0)		
#define PWMLED_PSC_DIV226   	((uint16_t)0xE1)		
#define PWMLED_PSC_DIV227   	((uint16_t)0xE2)		
#define PWMLED_PSC_DIV228   	((uint16_t)0xE3)		
#define PWMLED_PSC_DIV229   	((uint16_t)0xE4)		
#define PWMLED_PSC_DIV230   	((uint16_t)0xE5)		
#define PWMLED_PSC_DIV231   	((uint16_t)0xE6)		
#define PWMLED_PSC_DIV232   	((uint16_t)0xE7)		
#define PWMLED_PSC_DIV233   	((uint16_t)0xE8)		
#define PWMLED_PSC_DIV234   	((uint16_t)0xE9)		
#define PWMLED_PSC_DIV235   	((uint16_t)0xEA)		
#define PWMLED_PSC_DIV236   	((uint16_t)0xEB)		
#define PWMLED_PSC_DIV237   	((uint16_t)0xEC)		
#define PWMLED_PSC_DIV238   	((uint16_t)0xED)		
#define PWMLED_PSC_DIV239   	((uint16_t)0xEE)		
#define PWMLED_PSC_DIV240   	((uint16_t)0xEF)		
#define PWMLED_PSC_DIV241   	((uint16_t)0xF0)		
#define PWMLED_PSC_DIV242   	((uint16_t)0xF1)		
#define PWMLED_PSC_DIV243   	((uint16_t)0xF2)		
#define PWMLED_PSC_DIV244   	((uint16_t)0xF3)		
#define PWMLED_PSC_DIV245   	((uint16_t)0xF4)		
#define PWMLED_PSC_DIV246   	((uint16_t)0xF5)		
#define PWMLED_PSC_DIV247   	((uint16_t)0xF6)		
#define PWMLED_PSC_DIV248   	((uint16_t)0xF7)		
#define PWMLED_PSC_DIV249   	((uint16_t)0xF8)		
#define PWMLED_PSC_DIV250   	((uint16_t)0xF9)		
#define PWMLED_PSC_DIV251   	((uint16_t)0xFA)		
#define PWMLED_PSC_DIV252   	((uint16_t)0xFB)		
#define PWMLED_PSC_DIV253   	((uint16_t)0xFC)		
#define PWMLED_PSC_DIV254   	((uint16_t)0xFD)		
#define PWMLED_PSC_DIV255   	((uint16_t)0xFE)		
#define PWMLED_PSC_DIV256   	((uint16_t)0xFF)		



#define PWMLED_Polarity_High               ((uint16_t)0x0040)
#define PWMLED_Polarity_Low                ((uint16_t)0x0000)

#define PWMLEDDATA_Polarity_High           ((uint16_t)0x0004)
#define PWMLEDDATA_Polarity_Low            ((uint16_t)0x0000)


#define PWMLED_SendNUM_0										((uint16_t)0x00)
#define PWMLED_SendNUM_1										((uint16_t)0x08)
#define PWMLED_SendNUM_2										((uint16_t)0x10)
#define PWMLED_SendNUM_3										((uint16_t)0x28)
#define PWMLED_SendNUM_4										((uint16_t)0x20)
#define PWMLED_SendNUM_5										((uint16_t)0x28)
#define PWMLED_SendNUM_6										((uint16_t)0x30)
#define PWMLED_SendNUM_7										((uint16_t)0x38)

#define PWMLED_ContinuationLength_0Transfer					 ((uint16_t)0x00)
#define PWMLED_ContinuationLength_1Transfer					 ((uint16_t)0x08)
#define PWMLED_ContinuationLength_2Transfers         ((uint16_t)0x10)
#define PWMLED_ContinuationLength_3Transfers         ((uint16_t)0x28)
#define PWMLED_ContinuationLength_4Transfers         ((uint16_t)0x20)
#define PWMLED_ContinuationLength_5Transfers         ((uint16_t)0x28)
#define PWMLED_ContinuationLength_6Transfers         ((uint16_t)0x30)
#define PWMLED_ContinuationLength_7Transfers         ((uint16_t)0x38)


/** @defgroup PWMLED_Flags 
  * @{
  */

#define PWMLED_FLAG_BUSY                     ((uint16_t)0x0100)
#define PWMLED_FLAG_BF                       ((uint16_t)0x0200)

#define PWMLED_IT_Updata                     ((uint16_t)0x0002)
#define PWMLED_IT_EN                         ((uint16_t)0x0080)

void PWMLED_DeInit(PWMLED_TypeDef* PWMLEDx);
void PWMLED_Init(PWMLED_TypeDef* PWMLEDx, PWMLED_InitTypeDef* PWMLED_InitStructure);
void PWMLED_StructInit(PWMLED_InitTypeDef* PWMLED_InitStructure);
void PWMLED_SendData(PWMLED_TypeDef* PWMLEDx,uint8_t Data);
void PWMLED_Cmd(PWMLED_TypeDef* PWMLEDx, FunctionalState NewState);
void PWMLED_ITConfig(PWMLED_TypeDef* PWMLEDx, uint16_t PWMLED_IT, FunctionalState NewState);
void PWMLED_SetPrescaler(PWMLED_TypeDef* PWMLEDx, uint8_t PWMLED_Prescaler);
FlagStatus PWMLED_GetFlagStatus(PWMLED_TypeDef* PWMLEDx, uint16_t PWMLED_FLAG);
void PWMLED_ClearFlag(PWMLED_TypeDef* PWMLEDx, uint16_t PWMLED_FLAG);
ITStatus PWMLED_GetITStatus(PWMLED_TypeDef* PWMLEDx, uint16_t PWMLED_IT);
void PWMLED_ClearITPendingBit(PWMLED_TypeDef* PWMLEDx, uint16_t PWMLED_IT);
void PWMLED_SetHighDuty(PWMLED_TypeDef* PWMLEDx,uint16_t One_Duty);
void PWMLED_SetDataPolarity(PWMLED_TypeDef* PWMLEDx,uint8_t PWMLED_Polarity);
#endif
